package com.wzdigit.wms.basic.client.request.inv;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;

/**
 * 
 * 【提交冻结确认】输入
 * @author Administrator
 *
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
public class SubmitHoldFreezeRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "1：送货单、2：检验单、3：物料/批次号")
    private Integer type;
    
    @ApiModelProperty(value = "冻结单表头ID")
    private Integer holdHeaderId;
    
    @ApiModelProperty(value = "明细集合")
    private List<SubmitHoldFreezeItemRequest> itemList;
    
    @Data
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
    public static class SubmitHoldFreezeItemRequest {
    	
    	@ApiModelProperty(value = "工厂组织")
        private String factory;

        @ApiModelProperty(value = "库存性质")
        private String invAttr;

        @ApiModelProperty(value = "QA状态")
        private Integer qaStatus;

        @ApiModelProperty(value = "批次号")
        private String lotno;
        
        @ApiModelProperty(value = "物料ID")
        private Integer skuId;
        
        @ApiModelProperty(value = "供应商ID")
        private Integer vendorId;
        
        @ApiModelProperty(value = "仓库ID")
        private Integer whsId;

        @ApiModelProperty(value = "库位ID")
        private Integer locId;
        
        @ApiModelProperty(value = "送货单号（type=1时，必须传）")
        private String asnNo;
        
        @ApiModelProperty(value = "检验单号（type=2时，必须传）")
        private String oqc;
        
        // 送货单号集合
        @JsonIgnore
        private List<String> asnNoList;
        
        // 检验单号集合
        @JsonIgnore
        private List<String> oqcList;
	}
}
